home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
libs
/
intuisup.lha
/
Intuisup
/
Editor
/
unnamed.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-10-06
|
7KB
|
345 lines
/* Project: unnamed */
/* Includes */
#include <exec/types.h>
#include <exec/lists.h>
#include <intuition/intuition.h>
#include <libraries/intuisup.h>
#ifdef AZTEC_C
#include <functions.h>
#endif
#ifdef LATTICE
#include <proto/all.h>
#endif
/* Defines and data for window */
#define RENDER_INFO_FLAGS 3
#define OPEN_WINDOW_FLAGS 0
#define WINDOW_LEFT_EDGE 98
#define WINDOW_TOP_EDGE 123
#define WINDOW_WIDTH 510
#define WINDOW_HEIGHT 132
STATIC struct NewWindow test_new_window = {
WINDOW_LEFT_EDGE, WINDOW_TOP_EDGE, WINDOW_WIDTH, WINDOW_HEIGHT,
0, 1,
CLOSEWINDOW | MENUPICK | GADGET_IDCMP_FLAGS_ALL,
WINDOWDRAG | WINDOWDEPTH | WINDOWSIZING | RMBTRAP,
NULL, NULL,
(UBYTE *)"",
NULL, NULL,
100, 20, -1, -1,
WBENCHSCREEN
};
/* Defines and data for borders */
#define TEST_BORDER_BORDER1 0
#define TEST_BORDER_BORDER2 1
#define TEST_BORDER_BORDER3 2
#define TEST_BORDER_BORDER4 3
STATIC struct BorderData test_border_data[] = {
{
4, 273, 33, 87, 25
}, {
2, 275, 106, 95, 21
}, {
1, 397, 112, 97, 15
}, {
3, 374, 6, 63, 14
}, {
INTUISUP_DATA_END
}
};
/* Data for fonts */
STATIC struct TextAttr test_text_attr[] = {
{
(STRPTR)"topaz.font", 8, FS_NORMAL, FPF_ROMFONT
}, {
(STRPTR)"topaz.font", 9, FS_NORMAL, FPF_ROMFONT
}
};
/* Defines and data for texts */
#define TEST_TEXT_TEXT1 0
#define TEST_TEXT_TEXT2 1
#define TEST_TEXT_TEXT3 2
STATIC struct TextData test_text_data[] = {
{
1, 6, 291, 40,
"Laber", &test_text_attr[1]
}, {
1, 65, 302, 92,
"Humbug", &test_text_attr[1]
}, {
1, 128, 40, 112,
"Blubber", &test_text_attr[0]
}, {
INTUISUP_DATA_END
}
};
/* Defines and data for gadgets */
#define TEST_GADGET_GADGET1 0
#define TEST_GADGET_GADGET2 1
#define TEST_GADGET_GADGET3 2
#define TEST_GADGET_GADGET4 3
#define TEST_GADGET_GADGET5 4
#define TEST_GADGET_GADGET6 5
#define TEST_GADGET_GADGET7 6
#define TEST_GADGET_GADGET8 7
#define TEST_GADGET_GADGET9 8
#define TEST_GADGET_GADGET10 9
#define TEST_GADGET_GADGET11 10
IMPORT struct List test_gadget1_list;
STATIC struct Node test_gadget1_node[] = {
{
&test_gadget1_node[1], (struct Node *)&test_gadget1_list.lh_Head, 0, 0,
"Entry 1"
}, {
&test_gadget1_node[2], &test_gadget1_node[0], 0, 0,
"Entry 2"
}, {
&test_gadget1_node[3], &test_gadget1_node[1], 0, 0,
"Entry 3"
}, {
&test_gadget1_node[4], &test_gadget1_node[2], 0, 0,
"Entry 4"
}, {
&test_gadget1_node[5], &test_gadget1_node[3], 0, 0,
"Entry 5"
}, {
&test_gadget1_node[6], &test_gadget1_node[4], 0, 0,
"Entry 6"
}, {
&test_gadget1_node[7], &test_gadget1_node[5], 0, 0,
"Entry 7"
}, {
&test_gadget1_node[8], &test_gadget1_node[6], 0, 0,
"Entry 8"
}, {
&test_gadget1_node[9], &test_gadget1_node[7], 0, 0,
"Entry 9"
}, {
&test_gadget1_node[10], &test_gadget1_node[8], 0, 0,
"Entry 10"
}, {
&test_gadget1_node[11], &test_gadget1_node[9], 0, 0,
"Entry 11"
}, {
(struct Node *)&test_gadget1_list.lh_Tail, &test_gadget1_node[10], 0, 0,
"Entry 12"
}
};
/* STATIC */ struct List test_gadget1_list = {
&test_gadget1_node[0], NULL,
&test_gadget1_node[11], 0, 0
};
STATIC BYTE *test_gadget5_text_array[] = {
"MX1",
"MX2",
"MX3",
"MX4",
NULL
};
STATIC BYTE *test_gadget10_text_array[] = {
"Cycle",
"Test 1",
"Test 2",
"Test 3",
"Test 4",
"Test 5",
NULL
};
STATIC struct GadgetData test_gadget_data[] = {
{
10, 1296, 13, 20, 107, 44,
"List_view", &test_text_attr[0],
{ 0, 0, &test_gadget1_list }
}, {
11, 272, 144, 19, 100, 35,
"_Palette", &test_text_attr[1],
{ 2, 0, (VOID *)2 }
}, {
1, 16, 266, 6, 91, 20,
"_Button", &test_text_attr[1],
{ 0, 0, (VOID *)0 }
}, {
2, 1104, 424, 26, 21, 11,
"_Check", &test_text_attr[0],
{ 1, 0, (VOID *)0 }
}, {
3, 144, 388, 57, 72, 47,
"_Radio", &test_text_attr[1],
{ 1, 0, &test_gadget5_text_array[0] }
}, {
4, 1104, 205, 83, 76, 14,
"_String", &test_text_attr[0],
{ 10, 0, "String" }
}, {
5, 144, 136, 62, 44, 14,
"_Integer", &test_text_attr[0],
{ 10, 0, (VOID *)123 }
}, {
6, 528, 299, 64, 64, 11,
"Sli_der", &test_text_attr[0],
{ 0, 10, (VOID *)5 }
}, {
7, 280, 473, 26, 18, 62,
"Scro_ller", &test_text_attr[0],
{ 2, 10, (VOID *)5 }
}, {
8, 272, 20, 89, 97, 13,
"C_ycle", &test_text_attr[1],
{ 0, 0, &test_gadget10_text_array[0] }
}, {
9, 144, 143, 109, 65, 12,
"C_ount", &test_text_attr[0],
{ 10, 50, (VOID *)30 }
}, {
INTUISUP_DATA_END
}
};
/* Global var. */
struct Library *IntuiSupBase;
APTR ri;
struct Window* win;
APTR gl;
/* Protos */
BOOL test_init(VOID);
VOID test_close(VOID);
VOID test_action(VOID);
/* Test program */
LONG
main(VOID)
{
if(! test_init())
{
test_close();
return(1L);
}
IDisplayBorders(ri, win, &test_border_data[0], 0, 0);
IDisplayTexts(ri, win,&test_text_data[0], 0, 0, NULL);
IDisplayGadgets(win,gl);
test_action();
test_close();
return(0L);
}
BOOL test_init(VOID)
{
if (!(IntuiSupBase = (struct Library*)OpenLibrary(IntuiSupName,IntuiSupVersion)) )
return FALSE;
if (!(ri = IGetRenderInfo(NULL, RENDER_INFO_FLAGS)) )
return FALSE;
if (!(win = IOpenWindow(ri, &test_new_window,OPEN_WINDOW_FLAGS)) )
return FALSE;
if (!(gl = ICreateGadgets(ri,&test_gadget_data[0], 0, 0, NULL)) )
return FALSE;
return TRUE;
}
VOID
test_close(VOID)
{
if(gl) IRemoveGadgets(gl);
if(gl) IFreeGadgets(gl);
if(win) ICloseWindow(win, FALSE);
if(ri) IFreeRenderInfo(ri);
if(IntuiSupBase) CloseLibrary(IntuiSupBase);
}
VOID
test_action(VOID)
{
BOOL keepon = TRUE;
do {
struct IntuiMessage *msg;
WaitPort(win->UserPort);
while (msg = IGetMsg(win->UserPort)) {
ULONG Class=msg->Class;
USHORT Code=msg->Code;
APTR IAddress=msg->IAddress;
IReplyMsg(msg);
switch(Class)
{
case CLOSEWINDOW:
keepon = FALSE;
break;
case ISUP_ID:
switch(Code)
{
case TEST_GADGET_GADGET1:
printf("TEST_GADGET_GADGET1: %ld\n",IAddress);
break;
case TEST_GADGET_GADGET2:
printf("TEST_GADGET_GADGET2: %ld\n",IAddress);
break;
case TEST_GADGET_GADGET3:
printf("TEST_GADGET_GADGET3: %ld\n",IAddress);
break;
case TEST_GADGET_GADGET4:
printf("TEST_GADGET_GADGET4: %ld\n",IAddress);
break;
case TEST_GADGET_GADGET5:
printf("TEST_GADGET_GADGET5: %ld\n",IAddress);
break;
case TEST_GADGET_GADGET6:
printf("TEST_GADGET_GADGET6: %s\n",IAddress);
break;
case TEST_GADGET_GADGET7:
printf("TEST_GADGET_GADGET7: %ld\n",IAddress);
break;
case TEST_GADGET_GADGET8:
printf("TEST_GADGET_GADGET8: %ld\n",IAddress);
break;
case TEST_GADGET_GADGET9:
printf("TEST_GADGET_GADGET9: %ld\n",IAddress);
break;
case TEST_GADGET_GADGET10:
printf("TEST_GADGET_GADGET10: %ld\n",IAddress);
break;
case TEST_GADGET_GADGET11:
printf("TEST_GADGET_GADGET11: %ld\n",IAddress);
break;
}
}
}
} while (keepon == TRUE);
}